package com.weijian.dto.data;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 数据表列信息DTO
 * 用于返回数据库表列的详细信息
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ColumnInfo {

    /**
     * 列名
     */
    private String columnName;

    /**
     * 数据类型
     */
    private String dataType;

    /**
     * 是否可为空
     */
    private Boolean nullable;

    /**
     * 默认值
     */
    private String defaultValue;

    /**
     * 列注释/描述
     */
    private String columnComment;

    /**
     * 是否为主键
     */
    private Boolean primaryKey;

    /**
     * 列序号
     */
    private Integer ordinalPosition;

    /**
     * 字符最大长度（适用于字符串类型）
     */
    private Integer characterMaximumLength;
}
